package com.haixiaoke.saas.bill.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 账单对象 biz_bill
 *
 * @author panda
 * @date 2025-06-26
 */
@Data
public class Bill extends BaseEntity {

    /**
     * 账单id
     */
    private String billId;

    /**
     * 账单名称
     */
    private String billName;

    /**
     * 账单金额
     */
    private BigDecimal billAmount;

    /**
     * 账单状态:1.未付款;2.已付款;3.已取消;
     */
    private String billState;

    /**
     * 支付凭证
     */
    private String payVoucher;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payDate;

    /**
     * 账单开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billStartDate;

    /**
     * 账单结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date billEndDate;

    /**
     * 乙方id
     */
    private Long conUserId;

    /**
     * 合同id
     */
    private String contractId;

    /**
     * 房屋id
     */
    private String houseId;

    /**
     * 逻辑删除标志(0代表存在
     */
    private String delFlag;

    /**
     * 自定义字段,房屋地址
     */
    private String address;

    /**
     * 自定义字段,联系人姓名
     */
    private String contactName;

    /**
     * 自定义字段,账单收费项目列表
     */
    private List<BillItem> billItemList;

    /**
     * 自定义字段,支付凭证集合
     */
    private List<String> payVoucherList;
}